From: Florian Müllner Date: Thu, 10 Dec 2020 23:49:21 +0000 (+0100) Subject: ci: Fix checking out mutter for tag pipelines X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~616^2^2~685 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=3cccd829f2df312fbae5f7da57937de2a3058646;p=gnome-shell.git ci: Fix checking out mutter for tag pipelines $CI_COMMIT_REF_NAME can be a branch name or a tag, depending on the pipeline, but our checkout script only deals with the former at the moment. Address this by rather than looking for a remote branch name, just try to fetch the ref like we do for merge request pipelines. Part-of: --- diff --git a/.gitlab-ci/checkout-mutter.sh b/.gitlab-ci/checkout-mutter.sh index 0304fe29a..37655c48f 100755 --- a/.gitlab-ci/checkout-mutter.sh +++ b/.gitlab-ci/checkout-mutter.sh @@ -1,5 +1,12 @@ #!/usr/bin/bash +fetch() { + local remote=$1 + local ref=$2 + + git fetch --quiet $remote $ref 2>/dev/null +} + mutter_target= echo -n Cloning into mutter ... @@ -17,7 +24,7 @@ if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME echo -n Looking for $merge_request_branch on remote ... - if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then + if fetch $merge_request_remote $merge_request_branch; then echo \ found mutter_target=FETCH_HEAD else @@ -29,12 +36,12 @@ fi if [ -z "$mutter_target" ]; then echo -n Looking for $CI_COMMIT_REF on remote ... - mutter_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME) - if [ "$mutter_target" ]; then + if fetch origin $CI_COMMIT_REF; then echo \ found + mutter_target=FETCH_HEAD else echo \ not found - mutter_target=${mutter_target:-origin/master} + mutter_target=origin/master echo Using $mutter_target instead fi fi